From c7cd62d8593a2882d1d37d27f191d5f2ebb35f4a Mon Sep 17 00:00:00 2001 From: "kaf24@scramble.cl.cam.ac.uk" Date: Thu, 11 Mar 2004 10:07:12 +0000 Subject: [PATCH] bitkeeper revision 1.777.1.1 (40503a50e-1llqTCGgDibJS82qIg9g) etherdevice.h, 8139too.c: Fixes to RTL8139 driver. --- xen/drivers/net/8139too.c | 4 ++-- xen/include/xeno/etherdevice.h | 5 ++++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/xen/drivers/net/8139too.c b/xen/drivers/net/8139too.c index ea8d74a523..aa6b22a783 100644 --- a/xen/drivers/net/8139too.c +++ b/xen/drivers/net/8139too.c @@ -128,7 +128,7 @@ typedef int pid_t; /* enable PIO instead of MMIO, if CONFIG_8139TOO_PIO is selected */ -#ifdef CONFIG_8139TOO_PIO +#if defined(CONFIG_8139TOO_PIO) || defined(XEN) /* XXX MMIO fails on Xen :-( */ #define USE_IO_OPS 1 #endif @@ -2250,6 +2250,7 @@ static int rtl8139_close (struct net_device *dev) return 0; } +#ifndef XEN /* Get the ethtool Wake-on-LAN settings. Assumes that wol points to kernel memory, *wol has been initialized as {ETHTOOL_GWOL}, and @@ -2325,7 +2326,6 @@ static int netdev_set_wol (struct net_device *dev, return 0; } -#ifndef XEN static int netdev_ethtool_ioctl (struct net_device *dev, void *useraddr) { struct rtl8139_private *np = dev->priv; diff --git a/xen/include/xeno/etherdevice.h b/xen/include/xeno/etherdevice.h index 42fd14b18c..345875f795 100644 --- a/xen/include/xeno/etherdevice.h +++ b/xen/include/xeno/etherdevice.h @@ -25,6 +25,7 @@ #define _LINUX_ETHERDEVICE_H #include +#include #ifdef __KERNEL__ extern int eth_header(struct sk_buff *skb, struct net_device *dev, @@ -43,7 +44,9 @@ extern struct net_device *alloc_etherdev(int sizeof_priv); static inline void eth_copy_and_sum (struct sk_buff *dest, unsigned char *src, int len, int base) { - memcpy (dest->data, src, len); + char *vdata = map_domain_mem(__pa(dest->data)); + memcpy(vdata, src, len); + unmap_domain_mem(vdata); } /** -- 2.30.2